Skip to content

Add PostalAddress (contact)#82

Merged
codegresscom merged 1 commit intomainfrom
feat/10-contact-postal-address
Apr 19, 2026
Merged

Add PostalAddress (contact)#82
codegresscom merged 1 commit intomainfrom
feat/10-contact-postal-address

Conversation

@vhrcgcom
Copy link
Copy Markdown
Collaborator

Summary

  • Implements PostalAddress composite value object in the contact module
  • Fields: street, city, zip (all trimmed, must be non-empty) + CountryCode
  • value() / Display renders a canonical multi-line string (street\nzip city\nCOUNTRY)
  • Accessors: street(), city(), zip(), country()
  • Completes milestone v0.2.0 — all 5 contact types done

Type of change

  • New value object / feature

Checklist

  • Follows the ValueObject trait contract (new, value, into_inner)
  • Display implemented
  • serde support via cfg_attr
  • Tests: valid input, empty/whitespace fields, trimming, into_inner, equality
  • cargo fmt and cargo clippy clean
  • cargo test --features contact passes (47 tests)
  • ROADMAP.md updated (contact 5/5 ✅)
  • README.md updated
  • docs/contact.md updated

Closes #10

Composite value object: street + city + zip + CountryCode, all fields
validated as non-empty after trimming. Display/value() renders as a
canonical multi-line string.

Closes #10
@codegresscom codegresscom merged commit 94a1f88 into main Apr 19, 2026
14 checks passed
@codegresscom codegresscom deleted the feat/10-contact-postal-address branch April 19, 2026 18:38
vhrcgcom pushed a commit that referenced this pull request Apr 21, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Add PostalAddress (contact)

2 participants